//package com.yunhe.device.repository.device;
//
//import com.yunhe.device.domain.device.Device;
//
//import java.util.List;
//
//public interface DeviceRepository {
//
//
//    void bindEnergyUnit(Long energyUnitId, Long deviceId);
//
//    void unbindEnergyUnit(Long energyUnitId, Long deviceId);
//
//    /**
//     * 设备是否有绑定能量单元
//     * @param deviceId 设备ID
//     */
//    boolean hasBindingEnergyUnit(Long deviceId);
//
//    /**
//     * 根据电站ID获得所有设备列表
//     * Station->EnergyUnit->Device + Station->Device
//     * @param stationId 能量单元ID
//     */
//    List<Device> findByStationId(Long stationId);
//
//    /**
//     * 根据电站ID和设备类型获得所有设备列表
//     * @param stationId 能量单元ID
//     * @param type 设备类型
//     */
//    List<Device> findByStationIdAndType(Long stationId, String type);
//
//    /**
//     * 根据能量单元ID获得所有设备列表
//     * @param energyUnitId 能量单元ID
//     */
//    List<Device> findByEnergyUnitId(Long energyUnitId);
//
//    /**
//     * 根据单位ID获得设备对象列表
//     * @param firmId 单位ID
//     */
//    List<Device> findByFirmId(Long firmId);
//
//    /**
//     * 根据能量单元ID和设备类型获得所有设备列表
//     * @param energyUnitId 能量单元ID
//     * @param type 设备类型
//     */
//    List<Device> findByEnergyUnitIdAndType(Long energyUnitId, String type);
//
//    /**
//     * 根据设备ID获得其连接关系的指定设备类型的设备列表
//     * @param deviceId 设备ID
//     * @param type 设备类型
//     */
//    List<Device> findByConnectRelation(Long deviceId, String type);
//
//    /**
//     * 根据设备ID获得设备对象
//     * @param deviceId 设备ID
//     */
//    Device findById(Long deviceId);
//
//    /**
//     * 根据设备代码获得设备对象
//     * @param deviceCode 设备代码
//     */
//    Device findByCode(Long deviceCode);
//
//    /**
//     * 新增设备
//     * @param energyUnitId 能量单元ID
//     * @param device 设备对象
//     */
//    Device create(Long energyUnitId, Device device);
//
//    /**
//     * 更新设备
//     * @param device 设备对象
//     */
//    Device update(Device device);
//
//    /**
//     * 删除设备
//     * @param deviceId 设备ID
//     */
//    void deleteById(Long deviceId);
//
//    /**
//     * 是否存在设备
//     * @param deviceId 设备ID
//     */
//    boolean existsById(Long deviceId);
//}
